package com.sxu.greedy.day3;

import java.util.Arrays;

/**
 * 优势洗牌
 */
public class Test11 {
    public int[] advantageCount(int[] nums1, int[] nums2) {
        int n = nums1.length;
        // 排序
        Arrays.sort(nums1);
        Integer[] index2 = new Integer[n];
        for (int i = 0; i < n; i++) {
            index2[i] = i;
        }
        Arrays.sort(index2,(i,j)->{
            return nums2[i]-nums2[j];
        });

        // 田忌赛马
        int[] ret = new int[n];
        int left = 0,right = n-1;
        for(int x:nums1){
            if(x>nums2[index2[left]]){
                ret[index2[left++]] = x;
            } else {
                ret[index2[right--]] = x;
            }
        }
        return ret;
    }
}
